#ifndef PLAYER_HAND_INFO_H
#define PLAYER_HAND_INFO_H

#include "stdafx.h"
#include "Player.h"
#include <map>

using namespace std;

class PlayerHandInfo
{
private:
	float amountWonLost_;
	bool cBetFlop_;
	bool cBetTurn_;	
	bool cBetRiver_;	
	bool cBetFlopOp_;
	bool cBetTurnOp_;
	bool cBetRiverOp_;
	bool ccpf_;
	bool ccpfOp_;
	PlayerHandInfo *left_;
	PlayerHandInfo *right_;
	bool stealAttempt_;
	bool stealOp_;
	bool stealThenFold_;
	bool threeBetPreFlop_;
	bool threeBetFlop_;
	bool threeBetTurn_;	
	bool vpip_;
	Player player_;
	
public:
	PlayerHandInfo() :
	  amountWonLost_(0), cBetFlop_(false), cBetTurn_(false), cBetRiver_(false), 
		cBetFlopOp_(false), cBetTurnOp_(false), cBetRiverOp_(false), 
		ccpf_(false), ccpfOp_(false),
		left_(0), right_(0), stealAttempt_(false), stealOp_(false), stealThenFold_(false),
		threeBetPreFlop_(false), threeBetFlop_(false), threeBetTurn_(false), vpip_(false) {};
	
	float AmountWonLost() { return amountWonLost_; };	
	bool Ccpf() const { return ccpf_; };
	bool CcpfOp() const { return ccpfOp_; };
	PlayerHandInfo * Left() { return left_; };
	Player MyPlayer() { return player_; };
	PlayerHandInfo * Right() { return right_; };
	bool StealAttempt() const { return stealAttempt_; };
	bool StealOp() const { return stealOp_; };
	bool ThreeBetPreFlop() { return threeBetPreFlop_; };
	bool Vpip() const { return vpip_; };

	void AmountWonLost(float amountWonLost) { amountWonLost_ = amountWonLost; };	
	void Ccpf(bool b) { ccpf_ = b; };
	void CcpfOp(bool b) { ccpfOp_ = b; };
	void Left(PlayerHandInfo *leftInfo) { left_ = leftInfo; };
	void MyPlayer(const Player & player) { player_ = player; };
	void Right(PlayerHandInfo *rightInfo) { right_ = rightInfo; };
	void StealAttempt(bool b) { stealAttempt_ = b; };
	void StealOp(bool b) { stealOp_ = b; };
	void ThreeBetPreFlop(bool b) { threeBetPreFlop_ = b; };	
	void Vpip(bool b) { vpip_ = b; };
};

#endif
